对APT攻击样本的探索
APT攻击简介
APT攻击,它是集合多种常见攻击方式的综合攻击。综合多种攻击途径来尝试突破网络防御,一般是通过Web或电子邮件传递,利用应用程序或操作系统的漏洞,利用传统的网络保护机制无法提供统一的防御。
它除了应用多种途径,高级定向攻击还采用多个阶段穿透一个网络,然后提取有价值的信息,这使得它的攻击更不容易被发现。
从整体来说,它是一种高级攻击,具有难检测、持续时间长、攻击目标明确。
APT攻击的整个工具生命周期由7个阶段组成:扫描探测、工具投送、漏洞利用、木马植入、远程控制、横向渗透、目标行动。
APT攻击主要的流程,通过投放附带恶意代码的word文档程序,进行传播攻击者的专用后门程序,以达到对目标用户的长期控制和信息盗取。
APT样本信息
该样本主要是由word.exe(word名称自定义的)文档的应用程序和一个自带隐藏的wwlib.dll模块文件组成的。
word.exe它具有数字签名的(虽然签名有效期已过期),并且通过多个杀毒软件进行查杀和静态分析,确认它是一个正常、安全的应用程序。word.exe应用程序会动态加载wwlib.dll模块,这也符合了APT常见的攻击手法白加黑的加载方式。这个wwlib.dll模块,它是具有恶意代码的模块,并且wwlib模块是一个没做加密、混淆、虚拟化等保护的dll模块。
APT样本逆向分析
逆向前的准备
1、需熟悉常用的工具:Exeinfo PE、pchunter、CFF Explorer、IDA、ollydbg。
2、需熟悉技术的方向:PE文件结构、加解密、X86汇编代码,shellcode代码,HTTP、HTTPS网络通信。
寻找逆向突破点
直接将wwlib这个dll模块进行IDA静态分析,从字符串、导入函数、导出函数进行分析,寻找作为逆向分析的突破点和入口袋。
字符串相关的没有找到任何有用字符信息、
导出函数上也就一个默认导出函数也没作用、
导入函数上也没看到如操作注册表、加解密、网络通信相关的系统调用函数。
从APT样本的特性上进行找突破点:
白加黑的加载方式;
HTTP、HTTPS网络通信方式;
shellcode释放功能代码等等。
开始进行逆向分析(利用ollydbg工具)
1、从动态加载方式入手:
样本载入ollydbg后直接进行下LoadLibraryA和LoadLibraryW (下两个函数是因还没确定样本是ASCII码还是Unicode码)系统函数断点,再进行执行样本,让其进行加载wwlib.dll,并达到触发LoadLibrayW系统函数功能。
从上图可以看到该样本采用Unicode编码方式的,所以后面对系统函数进行下断点都直接下Unicode编码的函数就可以了。
2、释放并运行Thumoi.doc文件
动态的释放出对Thumoi.doc文件操作的代码功能。
通过调用GetTempPathaA系统函数进行获取系统盘的临时目录的路径,
并且在临时路径后拼接Thumoi.doc文件名。
通过调用WinExec系统函数,来运行打开释放在临时目录下的Thumoi.doc文件。
启动Thumoi.doc文件的效果和文件内容数据。
3、解密shellcode的加密数据
通过调用VirtualAlloc函数,进行申请空间来存放shellcode。
通过调用CryptDecrypt函数,进行shellcode数据的解密操作
4、HTTPS的网络通信
通过调用InternetConnectW系统函数,进行向样本服务器进行对应通信(但是发现C2已掉线,无法进行做后续的分析。从APT特性来看会向主机进行植入一个隐藏的且长期驻守的后门程序)。
APT样本的总结
相类似的APT攻击样本,主要依赖的载体是以word文档,而且没有利用系统漏洞,而是在其中嵌入恶意代码,通过宏代码进行触发执行恶意代码行为,最终向目标主机植入后门。
APT攻击应用比较高频的技术:签名程序白加黑的加载方式,内存木马不落地直接内存执行、shellcode进行对恶意代码执行、http或https网络通信、Crypt模块下加密解密。
APT攻击的防范思考:
1、关闭容易受到攻击的端口(如:139、445),放在恶意程序进行内网传播攻击。
2、对于来历不明的软件不要轻易去点击运行软件,先手动进行对软件进行查杀病毒。
3、安装杀毒软件,并及时更新病毒库,定时对主机进行病毒查杀。
4、操作系统安全补丁及时更新、关闭系统中不需要的服务。
END
▲往期相关文章▼
点个 赞、
在看
你最好看